//package com.herenit.order_model.config;
//
//import org.apache.kafka.clients.admin.AdminClientConfig;
//import org.apache.kafka.clients.producer.ProducerConfig;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.kafka.core.DefaultKafkaProducerFactory;
//import org.springframework.kafka.core.KafkaAdmin;
//import org.springframework.kafka.core.KafkaTemplate;
//import org.springframework.kafka.core.ProducerFactory;
//import java.util.HashMap;
//import java.util.Map;
//
//@Configuration
//public class KafkaProConfig {
//
//    @Value("${spring.kafka.bootstrap-servers}")
//    private String bootstrapServers;
//
//    @Value("${spring.kafka.producer.acks}")
//    private String acks;
//
//    @Value("${spring.kafka.producer.retries}")
//    private String retries;
//
//
//    @Value("${spring.kafka.producer.key-serializer}")
//    private String keySerializer;
//
//    @Value("${spring.kafka.producer.value-serializer}")
//    private String valueSerializer;
//
//    @Bean
//    public KafkaAdmin admin() {
//        Map<String, Object> configs = new HashMap<>();
//        configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092");
//        return new KafkaAdmin(configs);
//    }
//
//    @Bean
//    public Map<String,Object> getProperties() {
//        Map properties = new HashMap<String,Object>();
//        // 指定连接的kafka集群
//        properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
//        // ACK应答级别
//        properties.put(ProducerConfig.ACKS_CONFIG, acks);
//        //设置重试次数
//        properties.put(ProducerConfig.RETRIES_CONFIG, retries);
//        // 设置键序列化器
//        properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, keySerializer);
//        //设置值序列化器
//        properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, valueSerializer);
//        return properties;
//    }
//
//    @Bean
//    public ProducerFactory producerFactory(){
//        return new DefaultKafkaProducerFactory(getProperties());
//    }
//
//    @Bean
//    public KafkaTemplate kafkaTemplate(){
//        return new KafkaTemplate(producerFactory());
//    }
//}
